package com.jemmyee.shop.entity;

// default package

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import com.jemmyee.core.entity.BaseEntity;

/**
 * @Description:商品
 * @author:jemmyee@gmail.com
 * @date:2011-4-1
 * @version:v1.0
 */
@Entity
@Table(name = "so_goods")
public class Goods extends BaseEntity implements java.io.Serializable {

	// Fields
	private Integer id;
	private Integer categoryId;//分类Id
	private String goodsSn;//唯一货号
	private String name;//商品名称
	private String goodsNameStyle;//商品名称显示样式，包括颜色和字体样式；格式如#ff00ff+strong'
	private Integer clickCount;//点击数
	private Integer brandId;//品牌ID
	private String providerName;//供货人名称
	private Integer goodsNumber;//库存数量
	private Double goodsWeight;//商品重量 kg
	private Double marketPrice;//市场价
	private Double shopPrice;//店铺价
	private Double promotePrice;//促销价
	private Date promoteStartDate;//促销价开始时间
	private Date promoteEndDate;//促销价结束时间
	private Integer warnNumber;//商品报警数量
	private String keywords;//seo 关键字
	private String goodsBrief;//简要描述
	private String goodsDesc;//详细描述
	private String goodsThumb;//小图片
	private String goodsImg;//大图片
	private String originalImg;//原始图片
	private Short isReal; //是否实物商品  1实物  0 虚拟物品
	private String extensionCode; //扩展属性
	private Short isOnSale;//是否销售  1是  0否
	private Short isAloneSale;//是否单独销售  1是  0否
	private Short isShipping;//是否包邮
	private Integer integral; 
	private Date addTime; //添加时间
	private Integer sortOrder; //排序
	private Short isDelete; //是否删除
	private Short isBest; //是否精品
	private Short isNew;//是否新品
	private Short isHot; //是否热销
	private Short isPromote; //是否促销
	private Integer bonusTypeId; //购买该商品能领导的红包
	private Date lastEditTime; //最近修改时间
	private Integer goodsType; //商品所属类型
	private String sellerNote;//商家备注，仅商家可见
	private Integer giveIntegral;//买该商品时每笔成功交易赠送的积分数量
	private Integer rankIntegral;
	private Integer suppliersId; //供应商
	private Short isCheck; //是否审核

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "increment")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "category_id")
	public Integer getCategoryId() {
		return this.categoryId;
	}

	public void setCategoryId(Integer categoryId) {
		this.categoryId = categoryId;
	}

	@Column(name = "goods_sn", length = 60)
	public String getGoodsSn() {
		return this.goodsSn;
	}

	public void setGoodsSn(String goodsSn) {
		this.goodsSn = goodsSn;
	}

	@Column(name = "goods_name", length = 120)
	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "goods_name_style", length = 60)
	public String getGoodsNameStyle() {
		return this.goodsNameStyle;
	}

	public void setGoodsNameStyle(String goodsNameStyle) {
		this.goodsNameStyle = goodsNameStyle;
	}

	@Column(name = "click_count")
	public Integer getClickCount() {
		return this.clickCount;
	}

	public void setClickCount(Integer clickCount) {
		this.clickCount = clickCount;
	}

	@Column(name = "brand_id")
	public Integer getBrandId() {
		return this.brandId;
	}

	public void setBrandId(Integer brandId) {
		this.brandId = brandId;
	}

	@Column(name = "provider_name", length = 100)
	public String getProviderName() {
		return this.providerName;
	}

	public void setProviderName(String providerName) {
		this.providerName = providerName;
	}

	@Column(name = "goods_number")
	public Integer getGoodsNumber() {
		return this.goodsNumber;
	}

	public void setGoodsNumber(Integer goodsNumber) {
		this.goodsNumber = goodsNumber;
	}

	@Column(name = "goods_weight", precision = 10, scale = 3)
	public Double getGoodsWeight() {
		return this.goodsWeight;
	}

	public void setGoodsWeight(Double goodsWeight) {
		this.goodsWeight = goodsWeight;
	}

	@Column(name = "market_price", precision = 10)
	public Double getMarketPrice() {
		return this.marketPrice;
	}

	public void setMarketPrice(Double marketPrice) {
		this.marketPrice = marketPrice;
	}

	@Column(name = "shop_price", precision = 10)
	public Double getShopPrice() {
		return this.shopPrice;
	}

	public void setShopPrice(Double shopPrice) {
		this.shopPrice = shopPrice;
	}

	@Column(name = "promote_price", precision = 10)
	public Double getPromotePrice() {
		return this.promotePrice;
	}

	public void setPromotePrice(Double promotePrice) {
		this.promotePrice = promotePrice;
	}

	@Column(name = "promote_start_date", length = 0)
	public Date getPromoteStartDate() {
		return this.promoteStartDate;
	}

	public void setPromoteStartDate(Date promoteStartDate) {
		this.promoteStartDate = promoteStartDate;
	}

	@Column(name = "promote_end_date", length = 0)
	public Date getPromoteEndDate() {
		return this.promoteEndDate;
	}

	public void setPromoteEndDate(Date promoteEndDate) {
		this.promoteEndDate = promoteEndDate;
	}

	@Column(name = "warn_number")
	public Integer getWarnNumber() {
		return this.warnNumber;
	}

	public void setWarnNumber(Integer warnNumber) {
		this.warnNumber = warnNumber;
	}

	@Column(name = "keywords")
	public String getKeywords() {
		return this.keywords;
	}

	public void setKeywords(String keywords) {
		this.keywords = keywords;
	}

	@Column(name = "goods_brief")
	public String getGoodsBrief() {
		return this.goodsBrief;
	}

	public void setGoodsBrief(String goodsBrief) {
		this.goodsBrief = goodsBrief;
	}

	@Column(name = "goods_desc", length = 65535)
	public String getGoodsDesc() {
		return this.goodsDesc;
	}

	public void setGoodsDesc(String goodsDesc) {
		this.goodsDesc = goodsDesc;
	}

	@Column(name = "goods_thumb")
	public String getGoodsThumb() {
		return this.goodsThumb;
	}

	public void setGoodsThumb(String goodsThumb) {
		this.goodsThumb = goodsThumb;
	}

	@Column(name = "goods_img")
	public String getGoodsImg() {
		return this.goodsImg;
	}

	public void setGoodsImg(String goodsImg) {
		this.goodsImg = goodsImg;
	}

	@Column(name = "original_img")
	public String getOriginalImg() {
		return this.originalImg;
	}

	public void setOriginalImg(String originalImg) {
		this.originalImg = originalImg;
	}

	@Column(name = "is_real")
	public Short getIsReal() {
		return this.isReal;
	}

	public void setIsReal(Short isReal) {
		this.isReal = isReal;
	}

	@Column(name = "extension_code", length = 30)
	public String getExtensionCode() {
		return this.extensionCode;
	}

	public void setExtensionCode(String extensionCode) {
		this.extensionCode = extensionCode;
	}

	@Column(name = "is_on_sale")
	public Short getIsOnSale() {
		return this.isOnSale;
	}

	public void setIsOnSale(Short isOnSale) {
		this.isOnSale = isOnSale;
	}

	@Column(name = "is_alone_sale")
	public Short getIsAloneSale() {
		return this.isAloneSale;
	}

	public void setIsAloneSale(Short isAloneSale) {
		this.isAloneSale = isAloneSale;
	}

	@Column(name = "is_shipping")
	public Short getIsShipping() {
		return this.isShipping;
	}

	public void setIsShipping(Short isShipping) {
		this.isShipping = isShipping;
	}

	@Column(name = "integral")
	public Integer getIntegral() {
		return this.integral;
	}

	public void setIntegral(Integer integral) {
		this.integral = integral;
	}

	@Column(name = "add_time", length = 0)
	public Date getAddTime() {
		return this.addTime;
	}

	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	@Column(name = "sort_order")
	public Integer getSortOrder() {
		return this.sortOrder;
	}

	public void setSortOrder(Integer sortOrder) {
		this.sortOrder = sortOrder;
	}

	@Column(name = "is_delete")
	public Short getIsDelete() {
		return this.isDelete;
	}

	public void setIsDelete(Short isDelete) {
		this.isDelete = isDelete;
	}

	@Column(name = "is_best")
	public Short getIsBest() {
		return this.isBest;
	}

	public void setIsBest(Short isBest) {
		this.isBest = isBest;
	}

	@Column(name = "is_new")
	public Short getIsNew() {
		return this.isNew;
	}

	public void setIsNew(Short isNew) {
		this.isNew = isNew;
	}

	@Column(name = "is_hot")
	public Short getIsHot() {
		return this.isHot;
	}

	public void setIsHot(Short isHot) {
		this.isHot = isHot;
	}

	@Column(name = "is_promote")
	public Short getIsPromote() {
		return this.isPromote;
	}

	public void setIsPromote(Short isPromote) {
		this.isPromote = isPromote;
	}

	@Column(name = "bonus_type_id")
	public Integer getBonusTypeId() {
		return this.bonusTypeId;
	}

	public void setBonusTypeId(Integer bonusTypeId) {
		this.bonusTypeId = bonusTypeId;
	}

	@Column(name = "last_edit_time", length = 0)
	public Date getLastEditTime() {
		return this.lastEditTime;
	}

	public void setLastEditTime(Date lastEditTime) {
		this.lastEditTime = lastEditTime;
	}

	@Column(name = "goods_type")
	public Integer getGoodsType() {
		return this.goodsType;
	}

	public void setGoodsType(Integer goodsType) {
		this.goodsType = goodsType;
	}

	@Column(name = "seller_note")
	public String getSellerNote() {
		return this.sellerNote;
	}

	public void setSellerNote(String sellerNote) {
		this.sellerNote = sellerNote;
	}

	@Column(name = "give_integral")
	public Integer getGiveIntegral() {
		return this.giveIntegral;
	}

	public void setGiveIntegral(Integer giveIntegral) {
		this.giveIntegral = giveIntegral;
	}

	@Column(name = "rank_integral")
	public Integer getRankIntegral() {
		return this.rankIntegral;
	}

	public void setRankIntegral(Integer rankIntegral) {
		this.rankIntegral = rankIntegral;
	}

	@Column(name = "suppliers_id")
	public Integer getSuppliersId() {
		return this.suppliersId;
	}

	public void setSuppliersId(Integer suppliersId) {
		this.suppliersId = suppliersId;
	}

	@Column(name = "is_check")
	public Short getIsCheck() {
		return this.isCheck;
	}

	public void setIsCheck(Short isCheck) {
		this.isCheck = isCheck;
	}

}